﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using Frame;
using Banco;
using Estrutura;

public partial class Relatorios_Relatorio : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            if (!string.IsNullOrEmpty(Request.QueryString["RELATORIO"]))
            {
                hid_RELATORIO.Value = Request.QueryString["RELATORIO"];

                if (hid_RELATORIO.Value == "aniversariantes")
                {
                    lbl_nameReport.Text = "Aniversariantes do Mês";
                    pnlAniversariantes.Visible = true;
                }
                else if (hid_RELATORIO.Value == "carneMensalidades")
                {
                    lbl_nameReport.Text = "Carnê de Mensalidades";
                    pnlCarneMensalidades.Visible = true;
                }
                else if (hid_RELATORIO.Value == "dadosAlunos")
                {
                    lbl_nameReport.Text = "Dados dos Alunos";
                    pnlDadosAlunos.Visible = true;
                }
                else if (hid_RELATORIO.Value == "etiquetas")
                {
                    lbl_nameReport.Text = "Etiquetas";
                    pnlEtiquetas.Visible = true;
                }
                else if (hid_RELATORIO.Value == "fichaPresenca")
                {
                    lbl_nameReport.Text = "Ficha de Presença";
                    pnlFichaPresenca.Visible = true;
                    pre_anoreferencia_ItemsRequested(new object(), new Telerik.Web.UI.RadComboBoxItemsRequestedEventArgs());
                    pre_anoreferencia.SelectedValue = System.DateTime.Now.Year.ToString();
                    pre_mesreferencia.SelectedValue = System.DateTime.Now.Month.ToString();
                }
                else if (hid_RELATORIO.Value == "entradasDia")
                {
                    lbl_nameReport.Text = "Entradas Financeiras/Dia";
                    pnlEntradasDia.Visible = true;
                    ent_dtIni.SelectedDate = System.DateTime.Now.AddDays(-30);
                    ent_dtFim.SelectedDate = System.DateTime.Now;
                }
                else if (hid_RELATORIO.Value == "fichaAcompanhamento")
                {
                    lbl_nameReport.Text = "Ficha de Acompanhamento";
                    pnlFichaAcompanhamento.Visible = true;                    
                }
                else if (hid_RELATORIO.Value == "fichaAvaliacao")
                {
                    lbl_nameReport.Text = "Ficha de Avaliação";
                    pnlFichaAvaliacao.Visible = true;                    
                }
                else if (hid_RELATORIO.Value == "situacaoMensalidade")
                {
                    lbl_nameReport.Text = "Situação das Mensalidades";
                    pnlSituaçãoMensalidades.Visible = true;
                }
                else if (hid_RELATORIO.Value == "fichaMatricula")
                {
                    lbl_nameReport.Text = "Ficha de Matrícula";
                    pnlFichaMatricula.Visible = true;
                }
                else if (hid_RELATORIO.Value == "fichaSecretaria")
                {
                    lbl_nameReport.Text = "Ficha de Secretaria";
                    pnlFichaSecretaria.Visible = true;
                }
            }
            
        }
    }
    
    protected void imgbBaixarRelatorio_Click(object sender, ImageClickEventArgs e)
    {
        string strSQL = string.Empty;
        string errorReport  = string.Empty;

        #region Aniversariantes
        if (hid_RELATORIO.Value == "aniversariantes")
        {
            if (!string.IsNullOrEmpty(anv_mesreferencia.SelectedValue))
            {
                lbl_nameReport.Text = Server.MapPath("~/Relatorios/");
                
                //preencher parametro
                string[] parametroReport = new string[1];
                parametroReport[0] = "mesReferencia="+anv_mesreferencia.Text;

                strSQL = "SELECT PES_NOME, PES_DTNASCIMENTO, PES_DIANASC, PES_MESNASC, PSC_TELEFONE, TURMA_ID, TUR_DESCRICAO, TURNO_ID, TURNO_DESCRICAO, NIVEL_ID, NIV_DESCRICAO, USU_NOME, PES_MATRICULAS " +
                         "FROM VW_RPTANIVERSARIANTE ";
                if (!string.IsNullOrEmpty(anv_mesreferencia.SelectedValue))
                    strSQL += "WHERE DATEPART(MONTH, PES_DTNASCIMENTO) = " + anv_mesreferencia.SelectedValue;
                strSQL += "ORDER BY PES_DIANASC";

                errorReport = new GerarPDF()._exportarReportViewerPDF(strSQL,
                                                                        Server.MapPath("~/Relatorios/"),
                                                                        "Aniversariante",
                                                                        string.Empty,
                                                                        "_" + Session.SessionID,
                                                                        "DataSet1",
                                                                        parametroReport
                                                                        );

            }
            else
                ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "scriptAjax", "alert('Para visualizar a relação de aniversariantes é necessário selecionar o Mês.');", true);
        }
        #endregion
        #region CarneMensalidades
        else if (hid_RELATORIO.Value == "carneMensalidades")
        {
            if (!string.IsNullOrEmpty(crn_aluno_id.SelectedValue) && !string.IsNullOrEmpty(crn_matricula_id.SelectedValue))
            {

                if (crn_frenteverso.SelectedValue == "F")
                {                    

                    if (crn_matricula_id.SelectedValue == "-1")
                    {

                        strSQL = "SELECT MATRICULA_ID, ALUNO_ID, PES_NOME, MOD_DESCRICAO, NIV_DESCRICAO, TUR_DESCRICAO, TURNO_DESCRICAO, ANO_CORRENTE " +
                                 "FROM VW_RPTCARNEMATRICULA " +
                                 "WHERE ALUNO_ID = " + crn_aluno_id.SelectedValue;

                        errorReport = new GerarPDF()._exportarReportViewerPDF(strSQL,
                                                                Server.MapPath("~/Relatorios/"),
                                                                "CarneMensalidadesGeral",
                                                                string.Empty,
                                                                "_" + Session.SessionID,
                                                                "DataSet1");
                    }
                    else
                    {
                        strSQL = "SELECT MATRICULA_ID, ALUNO_ID, PES_NOME, MOD_DESCRICAO, NIV_DESCRICAO, TUR_DESCRICAO, TURNO_DESCRICAO, ANO_CORRENTE " +
                                 "FROM VW_RPTCARNEMATRICULA " +
                                 "WHERE ALUNO_ID = " + crn_aluno_id.SelectedValue + " AND MATRICULA_ID = " + crn_matricula_id.SelectedValue;
                        
                        errorReport = new GerarPDF()._exportarReportViewerPDF(strSQL,
                                                                Server.MapPath("~/Relatorios/"),
                                                                "CarneMensalidades",
                                                                string.Empty,
                                                                "_" + Session.SessionID,
                                                                "DataSet1");
                    }
                }
                else
                {
                    errorReport = new GerarPDF()._exportarReportViewerPDF(Server.MapPath("~/Relatorios/"),
                                                            "CarneMensalidadesVerso",
                                                            "_" + Session.SessionID);
                }

            }
            else
                ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "scriptAjax", "alert('Para visualizar o Carnê de Mensalidades é necessário selecionar Aluno e Matrícula.');", true);
        }
        #endregion
        #region DadosAlunos
        else if (hid_RELATORIO.Value == "dadosAlunos")
        {
            if (rbl_dad_impressao.SelectedValue == "V")
            {
                string request = string.Empty;
                foreach (Control ctrl in pnlDadosAlunos.Controls)
                {
                    if (!string.IsNullOrEmpty(ctrl.ID))
                    {
                        if (ctrl.ID.LastIndexOf("ckb") >= 0)
                        {
                            if (((CheckBox)(ctrl)).Checked)
                                request += ctrl.ID.Replace("ckb", "") + "=S&";
                        }
                    }
                }
                if (!string.IsNullOrEmpty(dad_turma_matricula.SelectedValue))
                {
                    request += "TURMA_ID_SELECTED=" + dad_turma_matricula.SelectedValue;
                    Response.Redirect("~/Relatorios/Dados_alunos.aspx?" + request);
                }
                else
                    Response.Redirect("~/Relatorios/Dados_alunos.aspx?" + request.Substring(0, request.Length - 1));
            }
            else
            {
                strSQL = "SELECT ALUNO_ID, ALU_STEXCLUIDO, NOME_ALUNO, END_LOGRADOURO, END_NUMERO, END_COMPLEMENTO, END_BAIRRO, END_CIDADE, END_UF, END_CEP, PSC_TELEFONE_RESALUNO, PSC_TELEFONE_COMALUNO, PSC_TELEFONE_CELALUNO, PES_EMAIL, PES_DTNASCIMENTO, NOME_PAI, CPF_PAI, NOME_MAE, CPF_MAE, PSC_TELEFONE_RESPAI, PSC_TELEFONE_CELPAI, PSC_TELEFONE_RESMAE, PSC_TELEFONE_CELMAE, PRF_DESCRICAO_PAI, PRF_DESCRICAO_MAE, MAT_DTINCLUSAO, MAT_DATACOBRANCA, TURMA_ID, MOD_DESCRICAO, NIV_DESCRICAO, TUR_DESCRICAO, ALU_BOLSISTA, MAT_VRMENSALIDADE, MAT_ISENTOTXPARTICIPACAO, MAT_TXPARTICIPACAO, ALU_MEDICAMENTO, CNV_DESCRICAO, ALU_OBSERVACAO "+
                         "FROM VW_RPTDADOSALUNOS ";
                if (!string.IsNullOrEmpty(dad_turma_matricula.SelectedValue))
                    strSQL += "WHERE TURMA_ID = " + dad_turma_matricula.SelectedValue;

                errorReport = new GerarPDF()._exportarReportViewerPDF(strSQL,
                                                                              Server.MapPath("~/Relatorios/"),
                                                                              "DadosAlunos",
                                                                              string.Empty,
                                                                              "_" + Session.SessionID,
                                                                              "DataSet1");
            }
            
        }
        #endregion
        #region Etiquetas
        else if (hid_RELATORIO.Value == "etiquetas")
        {
            strSQL = "SELECT PESSOA_ID, ALU_STEXCLUIDO, ALUNO_ID, PES_NOME, END_LOGRADOURO, END_BAIRRO, END_CIDADE, PSC_TELEFONE, PES_EMAIL, PES_DTNASCIMENTO, PES_PAI, PES_MAE, PES_MATRICULAS " +
                      "FROM VW_RPTETIQUETAS " +
                      "WHERE ALU_STEXCLUIDO = " + ((etq_alunosAtivos.SelectedValue == "A") ? "0" : "1");
            if (!string.IsNullOrEmpty(etq_turma_id.SelectedValue))
                strSQL += "AND ALUNO_ID IN (SELECT ALUNO_ID  FROM MATRICULA M WHERE M.TURMA_ID = " + etq_turma_id.SelectedValue + ")";
                    
            strSQL += "ORDER BY PES_NOME";

            if (etq_simples.SelectedValue == "S")
            {
                errorReport = new GerarPDF()._exportarReportViewerPDF(strSQL,
                                                          Server.MapPath("~/Relatorios/"),
                                                          "EtiquetasSimpl",
                                                          string.Empty,
                                                          "_" + Session.SessionID,
                                                          "DataSet1");
            }
            else
            {
                errorReport = new GerarPDF()._exportarReportViewerPDF(strSQL,
                                                        Server.MapPath("~/Relatorios/"),
                                                        "Etiquetas",
                                                        string.Empty,
                                                        "_" + Session.SessionID,
                                                        "DataSet1");
            }
        }
        #endregion
        #region FichaPresenca
        else if (hid_RELATORIO.Value == "fichaPresenca")
        {
            if (!string.IsNullOrEmpty(pre_turma_id.SelectedValue))
            {
                //obter dados da turma
                ES_Turma turma = new BD_Turma()._obter_Turma_by_id(pre_turma_id.SelectedValue);
                //preencher parametro
                string[] parametroReport = new string[7];
                parametroReport[0] = "modDescricao=" + turma.MOD_DESCRICAO;
                parametroReport[1] = "nivDescricao=" + turma.NIV_DESCRICAO;
                parametroReport[2] = "turDescricao=" + turma.TUR_DESCRICAO;
                parametroReport[3] = "turnoDescricao=" + turma.TURNO_DESCRICAO;
                parametroReport[4] = "anoReferencia=" +  (string.IsNullOrEmpty(pre_anoreferencia.SelectedValue)? System.DateTime.Now.Year.ToString() : pre_anoreferencia.SelectedValue);
                parametroReport[5] = "mesReferencia=" + (string.IsNullOrEmpty(pre_mesreferencia.Text)? System.DateTime.Now.Month.ToString() : pre_mesreferencia.Text);
                parametroReport[6] = "diasDaSemana=" + ("01");

                strSQL = "SELECT PESSOA_ID, ALU_STEXCLUIDO, ALUNO_ID, PES_NOME, TURMA_ID, TUR_DESCRICAO, TURNO_ID, TURNO_DESCRICAO, TURNO_ALTER_ID, TURNOALT_DESCRICAO, MODALIDADE_ID, MOD_DESCRICAO, NIVEL_ID, NIV_DESCRICAO, USUARIO_ID, USU_NOME " +
                          "FROM VW_RPTFICAHAPRESENCA " +
                          "WHERE ALU_STEXCLUIDO = " + ((pre_alunosAtivos.SelectedValue == "A") ? "0" : "1");
                if (!string.IsNullOrEmpty(pre_turma_id.SelectedValue))
                    strSQL += "AND TURMA_ID = " + pre_turma_id.SelectedValue + " ";
                strSQL += "ORDER BY PES_NOME";

                errorReport = new GerarPDF()._exportarReportViewerPDF(strSQL,
                                                                    Server.MapPath("~/Relatorios/"),
                                                                    "FichaPresenca",
                                                                    string.Empty,
                                                                    "_" + Session.SessionID,
                                                                    "DataSet1",
                                                                    parametroReport);
            }
            else
                ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "scriptAjax", "alert('Para visualizar o Diário de Classe é necessário especificar a Turma.');", true);
        }
        #endregion
        #region EntradasDia
        else if (hid_RELATORIO.Value == "entradasDia")
        {
            if (!string.IsNullOrEmpty(ent_dtIni.Text) && !string.IsNullOrEmpty(ent_dtFim.Text))
            {
                //preencher parametro
                string[] parametroReport = new string[2];
                parametroReport[0] = "dataInicio=" + ((DateTime)ent_dtIni.SelectedDate).ToString("dd/MM/yyyy");
                parametroReport[1] = "dataFim=" + ((DateTime)ent_dtFim.SelectedDate).ToString("dd/MM/yyyy");


                strSQL = "SELECT ROW, ALUNO_ID, ALU_STEXCLUIDO, PES_NOME, PTO_DESCRICAO, TURMA_ID, TUR_DESCRICAO, PAG_ANOREFERENCIA, PAG_MESREFERENCIA, PAG_ANOMESREFERENCIA, FORMA_PAGAMENTO_ID, PAG_VALORMENSALIDADE, PAG_VALORPAGO, PAG_DTPAMENTO, PAG_OBSERVACAO " +
                         "FROM VW_RPTENTRADAS " +
                         "WHERE ALU_STEXCLUIDO = " + ((etq_alunosAtivos.SelectedValue == "A") ? "0" : "1") + " " +
                         "AND PAG_DTPAMENTO BETWEEN " + Util.retonarAspas(Util.formataData(ent_dtIni.SelectedDate.ToString(), "dd/MM/yyyy")) + " AND " + Util.retonarAspas(Util.formataData(ent_dtFim.SelectedDate.ToString(), "dd/MM/yyyy")) + " ";

                if (!string.IsNullOrEmpty(ent_turma_id.SelectedValue))
                    strSQL += "AND TURMA_ID = " + ent_turma_id.SelectedValue + " ";

                if (!string.IsNullOrEmpty(ent_pagamneto_tipo_id.SelectedValue))
                    strSQL += "AND PAGAMENTO_TIPO_ID = " + ent_pagamneto_tipo_id.SelectedValue + " ";

                strSQL += "ORDER BY PAG_DTPAMENTO, PES_NOME";

                errorReport = new GerarPDF()._exportarReportViewerPDF(strSQL,
                                                                    Server.MapPath("~/Relatorios/"),
                                                                    "EntradasDia",
                                                                    string.Empty,
                                                                    "_" + Session.SessionID,
                                                                    "DataSet1",
                                                                    parametroReport);
            }
            else
                ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "scriptAjax", "alert('Para visualizar a relação de Entradas é necessário especificar o período.');", true);
        }
        #endregion
        #region FichaAcompanhamento
        else if (hid_RELATORIO.Value == "fichaAcompanhamento")
        {
            if (!string.IsNullOrEmpty(fac_aluno_id.SelectedValue))
            {
                strSQL = "SELECT PESSOA_ID, ALU_STEXCLUIDO, ALUNO_ID, ALU_MEDICAMENTO, ALU_INDICAOMEDICA, ALU_MOTIVO_INGRESSO, MOTIVO_INGRESSO_ID, MOT_DESCRICAO, ACADEMIA_ID, ACD_DESCRICAO, PES_NOME, END_LOGRADOURO, END_NUMERO, END_COMPLEMENTO, END_BAIRRO, END_CIDADE, END_UF, END_CEP, PSC_TELEFONE, PES_EMAIL, PES_DTNASCIMENTO, PES_PAI, PES_PAIFONERES, PES_PAIFONEMOVEL, PES_MAE, PES_MAEFONERES, PES_MAEFONEMOVEL, ALUNO_AVALIACAO_ID, AVA_CONCEITO, AVA_DATAAVALIACAO, AVA_DESCRICAO " +
                         "FROM VW_RPTFICAHAACOMP ";
                if (!string.IsNullOrEmpty(fac_aluno_id.SelectedValue))
                    strSQL += "WHERE ALUNO_ID = " + fac_aluno_id.SelectedValue;

                strSQL += "ORDER BY PES_NOME";

                ES_Aluno_avaliacao aval = new BD_Aluno_avaliacao()._obter_Aluno_avaliacao_by_id(string.Empty, fac_aluno_id.SelectedValue);
                if (!string.IsNullOrEmpty(aval.ALUNO_AVALIACAO_ID))
                {
                    errorReport = new GerarPDF()._exportarReportViewerPDF(strSQL,
                                                           Server.MapPath("~/Relatorios/"),
                                                           "FichaAcompanhamentoAva",
                                                           string.Empty,
                                                           "_" + Session.SessionID,
                                                           "DataSet1");
                }
                else
                {
                    errorReport = new GerarPDF()._exportarReportViewerPDF(strSQL,
                                                          Server.MapPath("~/Relatorios/"),
                                                          "FichaAcompanhamento",
                                                          string.Empty,
                                                          "_" + Session.SessionID,
                                                          "DataSet1");
                }


            }
            else
                ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "scriptAjax", "alert('Para visualizar a Ficha de Acompanhamento é necessário especificar o Aluno.');", true);
        }
        #endregion
        #region FichaAvaliacao
        else if (hid_RELATORIO.Value == "fichaAvaliacao")
        {
            strSQL = "SELECT ALUNO_ID, MATRICULA_ID, MODALIDADE_ID, MOD_DESCRICAO, NIVEL_ID, NIV_DESCRICAO, TURMA_ID, TUR_DESCRICAO, TURNO_ID, TURNO_DESCRICAO, ALUNO_AVALIACAO_ID, " +
                     "       AVA_DATAAVALIACAO, AVA_ANOAVALIACAO, AVA_CONCEITO, ISNULL(AVA_AVALIACAOMATRICULA,'Comentários') AS AVA_AVALIACAOMATRICULA, AVA_NIVEL_ID, AVA_NIV_DESCRICAO, USUARIO_ID, USU_NOME, " +
                     "       PESSOA_ID, PES_NOME, PES_DTNASCIMENTO, PES_IDADEMES, PES_IDADEANOCALC, PES_IDADEMESCALC, " +
                     "       CASE WHEN CAST(PES_IDADEMES AS INT) = 0 " +
                     "            THEN CAST(PES_IDADEANOCALC AS VARCHAR(2)) +' anos ' " +
                     "            ELSE CAST(PES_IDADEANOCALC AS VARCHAR(2)) +' anos ' + CAST(PES_IDADEMESCALC AS VARCHAR(2)) +' meses' " +
                     "       END AS PES_IDADETEXTO " +
                     "FROM DBO.VW_RPTFICAHAAVALIACAO " +
                     "WHERE 1=1 ";

            if (ava_alunosAtivos.SelectedValue == "A")
                strSQL += "AND ALU_STEXCLUIDO = 0 ";
            else
                strSQL += "AND ALU_STEXCLUIDO = 1 ";

            if (!string.IsNullOrEmpty(ava_turma_id.SelectedValue))
                strSQL += " AND TURMA_ID = " + ava_turma_id.SelectedValue;

            if (!string.IsNullOrEmpty(ava_aluno_id.SelectedValue))
                strSQL += " AND ALUNO_ID = " + ava_aluno_id.SelectedValue;

            if (!string.IsNullOrEmpty(ava_matricula_id.SelectedValue))
                strSQL += " AND MATRICULA_ID = " + ava_matricula_id.SelectedValue;

            //carregar somente os alunos do Professor
            if (Session["USUARIO_TIPO_ID"].ToString() == "2")
                strSQL += " AND USUARIO_ID = " + Session["USUARIO_ID"].ToString();

            strSQL += " ORDER BY PES_NOME";

            errorReport = new GerarPDF()._exportarReportViewerPDF(strSQL,
                                                                   Server.MapPath("~/Relatorios/"),
                                                                   "FichaAvaliacao",
                                                                   string.Empty,
                                                                   "_" + Session.SessionID,
                                                                   "DataSet1");
        }
        #endregion
        #region SituacaoMensalidade
        else if (hid_RELATORIO.Value == "situacaoMensalidade")
        {
            if (!string.IsNullOrEmpty(sit_anoreferencia.SelectedValue) && !string.IsNullOrEmpty(sit_mesreferencia.SelectedValue))
            {
                //preencher parametro
                string[] parametroReport = new string[2];
                parametroReport[0] = "anoReferencia=" + sit_anoreferencia.SelectedValue;
                parametroReport[1] = "mesReferencia=" + sit_mesreferencia.Text;

                strSQL = "SELECT A.ALUNO_ID, " +
                         "       A.PESSOA_ID, " +
                         "       PES.PES_NOME,  " +
                         "       A.ALU_STEXCLUIDO, " +

                         "       NULL AS MATRICULA_ID, " +
                         "       NULL AS TURMA_ID,  " +
                         "       NULL AS TUR_DESCRICAO, " +
                         "       NULL AS MODALIDADE_ID,  " +
                         "       NULL AS MOD_DESCRICAO, " +
                         "       NULL AS NIVEL_ID,  " +
                         "       NULL AS NIV_DESCRICAO, " +

                         "       NULL AS PAG_ANOREFERENCIA, " +
                         "       NULL AS PAG_MESREFERENCIA, " +

                         "       NULL AS MAT_VRMENSALIDADE, " +

                         "       '" + sit_mesreferencia.Text.ToLower() + "/" + sit_anoreferencia.Text + "' AS PAG_ANOMESREFERENCIA, " +

                         "       CASE WHEN ISNULL((SELECT SUM(P.PAG_VALORPAGO) "+"\n"+
                         "                          FROM PAGAMENTO P " + "\n" +
                         "                          WHERE P.MATRICULA_ID IN (SELECT MATRICULA_ID FROM MATRICULA WHERE MATRICULA.ALUNO_ID = A.ALUNO_ID) " + "\n" +
                         "                          AND P.PAGAMENTO_TIPO_ID = 1 AND P.PAG_ANOREFERENCIA = " + sit_anoreferencia.SelectedValue + " AND P.PAG_MESREFERENCIA = " + sit_mesreferencia.SelectedValue + "),0) <> 0 " + "\n" +
                         "       THEN 0 ELSE ISNULL((SELECT SUM(MAT_VRMENSALIDADE) FROM MATRICULA WHERE ALUNO_ID = A.ALUNO_ID),0) END AS PAG_VALORAPAGAR, " + "\n" +

                         "       ISNULL((SELECT COUNT(P.PAGAMENTO_ID) "+"\n"+
                         "                  FROM PAGAMENTO P " + "\n" +
                         "                  WHERE P.MATRICULA_ID IN (SELECT MATRICULA_ID FROM MATRICULA WHERE ALUNO_ID = A.ALUNO_ID) " + "\n" +
                         "                  AND P.PAGAMENTO_TIPO_ID = 1 " + "\n" +
                         "                  AND P.PAG_ANOREFERENCIA = " + sit_anoreferencia.SelectedValue + "\n" +
                         "                  AND P.PAG_MESREFERENCIA = " + sit_mesreferencia.SelectedValue + "),0) PAG_STATUSPAGO, " + "\n" +

                         "       ISNULL((SELECT TOP 1 P.PAG_VALORPAGO "+"\n" +
                         "                  FROM PAGAMENTO P " + "\n" +
                         "                  WHERE P.MATRICULA_ID IN (SELECT MATRICULA_ID FROM MATRICULA WHERE ALUNO_ID = A.ALUNO_ID) " + "\n" +
                         "                  AND P.PAGAMENTO_TIPO_ID = 1 "+"\n" +
                         "                  AND P.PAG_ANOREFERENCIA = " + sit_anoreferencia.SelectedValue + "\n" +
                         "                  AND P.PAG_MESREFERENCIA = " + sit_mesreferencia.SelectedValue + "),0) PAG_VALORPAGO, " +

                         "       (SELECT TOP 1 P.PAG_DTPAMENTO "+"\n" +
                         "                  FROM PAGAMENTO P "+"\n" +
                         "                  WHERE P.MATRICULA_ID IN (SELECT MATRICULA_ID FROM MATRICULA WHERE ALUNO_ID = A.ALUNO_ID) " + "\n" +
                         "                  AND P.PAGAMENTO_TIPO_ID = 1 "+"\n" +
                         "                  AND P.PAG_ANOREFERENCIA = " + sit_anoreferencia.SelectedValue + "\n" +
                         "                  AND P.PAG_MESREFERENCIA = " + sit_mesreferencia.SelectedValue + ") PAG_DTPAMENTO " +
                         "FROM ALUNO A " +
                         "INNER JOIN MATRICULA M ON (M.ALUNO_ID = A.ALUNO_ID) " +
                         "INNER JOIN PESSOA PES ON (PES.PESSOA_ID =  A.PESSOA_ID) " +
                         "LEFT JOIN MODALIDADE MODA ON (MODA.MODALIDADE_ID = M.MODALIDADE_ID) " +
                         "LEFT JOIN NIVEL N ON (N.NIVEL_ID = M.NIVEL_ID) " +
                         "LEFT JOIN TURMA T ON (T.TURMA_ID = M.TURMA_ID) " +
                         "WHERE DBO.FN_ALUNO_BOLSISTA_INTEGRAL(A.ALUNO_ID) <= 0 AND " +//não exibir Bolsistar integrais
                         "ISNULL(A.ALU_STEXCLUIDO,0) = " + ((sit_alunosAtivos.SelectedValue == "A") ? "0" : "1")+ "\n";

                if (!string.IsNullOrEmpty(sit_aluno_id.SelectedValue))
                    strSQL += " AND a.ALUNO_ID = " + sit_aluno_id.SelectedValue;

                if (!string.IsNullOrEmpty(sit_matricula_id.SelectedValue))
                    strSQL += " AND M.MATRICULA_ID =" + sit_matricula_id.SelectedValue;

                if (!sit_mensalidadesAberto.Checked)
                    strSQL += " AND (SELECT COUNT(P.PAGAMENTO_ID) FROM PAGAMENTO P WHERE P.MATRICULA_ID = M.MATRICULA_ID AND P.PAGAMENTO_TIPO_ID = 1 AND P.PAG_ANOREFERENCIA = " + sit_anoreferencia.SelectedValue + " AND P.PAG_MESREFERENCIA = " + sit_mesreferencia.SelectedValue + ") > 0";
                else
                    strSQL += " AND (SELECT COUNT(P.PAGAMENTO_ID) FROM PAGAMENTO P WHERE P.MATRICULA_ID = M.MATRICULA_ID AND P.PAGAMENTO_TIPO_ID = 1 AND P.PAG_ANOREFERENCIA = " + sit_anoreferencia.SelectedValue + " AND P.PAG_MESREFERENCIA = " + sit_mesreferencia.SelectedValue + ") = 0";


                strSQL += " GROUP BY A.ALUNO_ID, "+"\n"+
                          "          A.PESSOA_ID, "+"\n"+
                          "          PES.PES_NOME, "+"\n"+
                          "          A.ALU_STEXCLUIDO " + "\n" +
                          "  ORDER BY PES.PES_NOME";

                errorReport = new GerarPDF()._exportarReportViewerPDF(strSQL,
                                                        Server.MapPath("~/Relatorios/"),
                                                        "SituacaoMensalidade",
                                                        string.Empty,
                                                        "_" + Session.SessionID,
                                                        "DataSet1",
                                                        parametroReport);
            }
            else
                ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "scriptAjax", "alert('Para visualizar a Situação das Mensalidades é necessário selecionar Mês/Ano referência.');", true);
        }
        #endregion        
        #region FichaMatricula
        if (hid_RELATORIO.Value == "fichaMatricula")
        {
            if (!string.IsNullOrEmpty(fam_aluno_id.SelectedValue))
            {
                lbl_nameReport.Text = Server.MapPath("~/Relatorios/");

                strSQL = "SELECT MATRICULA_ID, ALUNO_ID, ALU_STEXCLUIDO, NOME_ALUNO, END_LOGRADOURO, END_NUMERO, END_COMPLEMENTO, END_BAIRRO, END_CIDADE, END_UF, END_CEP, PSC_TELEFONE_RESALUNO, ACADEMIA_ID, ACD_DESCRICAO, ALU_ACADEMIA, ALU_INDICACAOMEDICA_CONF, ALU_INDICAOMEDICA, ALU_MOTIVO_INGRESSO, PSC_TELEFONE_COMALUNO, PSC_TELEFONE_CELALUNO, PES_EMAIL, PES_DTNASCIMENTO, NOME_PAI, CPF_PAI, NOME_MAE, CPF_MAE, PSC_TELEFONE_RESPAI, PSC_TELEFONE_CELPAI, PSC_TELEFONE_RESMAE, PSC_TELEFONE_CELMAE, PRF_DESCRICAO_PAI, PRF_DESCRICAO_MAE, MAT_DTINCLUSAO, MAT_DATACOBRANCA, TURMA_ID, MOD_DESCRICAO, NIV_DESCRICAO, TUR_DESCRICAO, ALU_BOLSISTA, MAT_VRMENSALIDADE, TURNO_DESCRICAO, MAT_ISENTOTXPARTICIPACAO, MAT_TXPARTICIPACAO, ALU_MEDICAMENTO, CNV_DESCRICAO, ALU_OBSERVACAO " +
                         "FROM VW_RPTFICHAMATRICULA ";
                if (!string.IsNullOrEmpty(fam_aluno_id.SelectedValue))
                    strSQL += "WHERE ALUNO_ID = " + fam_aluno_id.SelectedValue;
                strSQL += "ORDER BY NOME_ALUNO";

                errorReport = new GerarPDF()._exportarReportViewerPDF(strSQL,
                                                                        Server.MapPath("~/Relatorios/"),
                                                                        "FichaMatricula",
                                                                        string.Empty,
                                                                        "_" + Session.SessionID,
                                                                        "DataSet1");

            }
            else
                ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "scriptAjax", "alert('Para visualizar a Ficha de Matrícula é necessário selecionar o Aluno.');", true);
        }
        #endregion
        #region FichaSecretaria
        if (hid_RELATORIO.Value == "fichaSecretaria")
        {
            if (!string.IsNullOrEmpty(fsc_turma_id.SelectedValue))
            {
                lbl_nameReport.Text = Server.MapPath("~/Relatorios/");

                strSQL = "SELECT "+
	                     "       ALUNO_ID, PES_NOME, CPF_PAI, NOME_PAI, NOME_PAIF, CPF_MAE, NOME_MAE, NOME_MAEF, TURMA_ID, "+
                         "       CASE WHEN LEN(PSC_TELEFONE_RESPAI) = 10 THEN '('+SUBSTRING(PSC_TELEFONE_RESPAI,1,2)+')'+SUBSTRING(PSC_TELEFONE_RESPAI,3,4)+'-'+SUBSTRING(PSC_TELEFONE_RESPAI,5,4) ELSE PSC_TELEFONE_RESPAI END PSC_TELEFONE_RESPAI, " +
                         "       CASE WHEN LEN(PSC_TELEFONE_CELPAI) = 10 THEN '('+SUBSTRING(PSC_TELEFONE_CELPAI,1,2)+')'+SUBSTRING(PSC_TELEFONE_CELPAI,3,4)+'-'+SUBSTRING(PSC_TELEFONE_CELPAI,5,4) ELSE PSC_TELEFONE_CELPAI END PSC_TELEFONE_CELPAI, " +
                         "       CASE WHEN LEN(PSC_TELEFONE_RESMAE) = 10 THEN '('+SUBSTRING(PSC_TELEFONE_RESMAE,1,2)+')'+SUBSTRING(PSC_TELEFONE_RESMAE,3,4)+'-'+SUBSTRING(PSC_TELEFONE_RESMAE,5,4) ELSE PSC_TELEFONE_RESMAE END PSC_TELEFONE_RESMAE, " +
                         "       CASE WHEN LEN(PSC_TELEFONE_CELMAE) = 10 THEN '('+SUBSTRING(PSC_TELEFONE_CELMAE,1,2)+')'+SUBSTRING(PSC_TELEFONE_CELMAE,3,4)+'-'+SUBSTRING(PSC_TELEFONE_CELMAE,5,4) ELSE PSC_TELEFONE_CELMAE END PSC_TELEFONE_CELMAE  " +
                         "FROM VW_RPTFICHASECRETARIA ";
                if (!string.IsNullOrEmpty(fsc_turma_id.SelectedValue))
                    strSQL += "WHERE TURMA_ID = " + fsc_turma_id.SelectedValue;
                strSQL += "ORDER BY PES_NOME";

                errorReport = new GerarPDF()._exportarReportViewerPDF(strSQL,
                                                                        Server.MapPath("~/Relatorios/"),
                                                                        "FichaSecretaria",
                                                                        string.Empty,
                                                                        "_" + Session.SessionID,
                                                                        "DataSet1");

            }
            else
                ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "scriptAjax", "alert('Para visualizar a Ficha de Secretaria é necessário selecionar a Turma.');", true);
        }
        #endregion

        //exibir Erro, se houver
        if (!string.IsNullOrEmpty(errorReport))
        {
            lbl_errorRerport.Text = errorReport;
            lbl_errorRerport.Visible = true;
        }
        else
            lbl_errorRerport.Visible = false;

    }

    #region Aniversariantes

    #endregion

    #region CarneMensalidades
    
    protected void crn_aluno_id_SelectedIndexChanged(object o, Telerik.Web.UI.RadComboBoxSelectedIndexChangedEventArgs e)
    {
        if (!string.IsNullOrEmpty(crn_aluno_id.SelectedValue))
        {
            crn_matricula_id.ClearSelection();
            crn_matricula_id.Text = string.Empty;

            crn_matricula_id_ItemsRequested(new object(), new Telerik.Web.UI.RadComboBoxItemsRequestedEventArgs());
            crn_matricula_id.SelectedIndex = 0;
        }
    }
    protected void crn_alunos_ItemsRequested(object o, Telerik.Web.UI.RadComboBoxItemsRequestedEventArgs e)
    {
        crn_aluno_id.DataSourceID = ods_Aluno.ID;
        crn_aluno_id.DataBind();
    }
    protected void ods_Matricula_Selecting(object sender, ObjectDataSourceSelectingEventArgs e)
    {
        if (hid_RELATORIO.Value == "carneMensalidades")
        {
            e.InputParameters["ALUNO_ID"] = crn_aluno_id.SelectedValue;
            e.InputParameters["TODAS"] = true;
        }
        else if (hid_RELATORIO.Value == "situacaoMensalidade")
            e.InputParameters["ALUNO_ID"] = sit_aluno_id.SelectedValue;
        else if (hid_RELATORIO.Value == "fichaAvaliacao")
        {
            e.InputParameters["ALUNO_ID"] = ava_aluno_id.SelectedValue;
            e.InputParameters["TODAS"] = false;
        }
        else if (hid_RELATORIO.Value == "fichaAcompanhamento")
        {
            e.InputParameters["TODAS"] = false;
        }        
    }
    protected void crn_matricula_id_ItemsRequested(object o, Telerik.Web.UI.RadComboBoxItemsRequestedEventArgs e)
    {
        crn_matricula_id.DataSourceID = ods_Matricula.ID;
        crn_matricula_id.DataBind();
    }
    #endregion

    #region DadosAlunos

    protected void dad_turma_matricula_ItemsRequested(object o, Telerik.Web.UI.RadComboBoxItemsRequestedEventArgs e)
    {
        dad_turma_matricula.DataSourceID = ods_turma.ID;
        dad_turma_matricula.DataBind();
    }
    protected void ods_Aluno_Selecting(object sender, ObjectDataSourceSelectingEventArgs e)
    {
                
        //tratar ficha de avaliação
        if (hid_RELATORIO.Value == "fichaAvaliacao")
        { 
            e.InputParameters["TURMA_ID"] = ava_turma_id.SelectedValue;
            e.InputParameters["ALU_STEXCLUIDO"] = ((ava_alunosAtivos.SelectedValue == "A") ? "0" : "1");
        }
        else if (hid_RELATORIO.Value == "fichaAcompanhamento")
        {
            e.InputParameters["ALU_STEXCLUIDO"] = ((fac_alunosAtivos.SelectedValue == "A") ? "0" : "1");
        }
        else
            e.InputParameters["ALU_STEXCLUIDO"] = "0";
        
    }

    #endregion

    #region Etiquetas

    protected void etq_turma_id_ItemsRequested(object o, Telerik.Web.UI.RadComboBoxItemsRequestedEventArgs e)
    {
        etq_turma_id.DataSourceID = ods_turma.ID;
        etq_turma_id.DataBind();
    }

    #endregion

    #region EntradasDia

    protected void ent_turma_id_ItemsRequested(object o, Telerik.Web.UI.RadComboBoxItemsRequestedEventArgs e)
    {
        ent_turma_id.DataSourceID = ods_turma.ID;
        ent_turma_id.DataBind();
    }

    protected void ent_pagamento_tipo_id_ItemsRequested(object o, Telerik.Web.UI.RadComboBoxItemsRequestedEventArgs e)
    {
        ent_pagamneto_tipo_id.DataSourceID = ods_PagamentoTipo.ID;
        ent_pagamneto_tipo_id.DataBind();
    }

    #endregion

    #region FichaAcompanahmento

    protected void fac_aluno_id_ItemsRequested(object o, Telerik.Web.UI.RadComboBoxItemsRequestedEventArgs e)
    {
        //carregar somente os alunos do Professor
        if (Session["USUARIO_TIPO_ID"].ToString() == "2")
        {
            fac_aluno_id.DataSourceID = ods_AlunoTurma.ID;
            fac_aluno_id.DataBind();
        }
        else
        {
            fac_aluno_id.DataSourceID = ods_Aluno.ID;
            fac_aluno_id.DataBind();
        }
    }

    protected void ods_AlunoTurma_Selecting(object sender, ObjectDataSourceSelectingEventArgs e)
    {
        e.InputParameters["USUARIO_ID"] = Session["USUARIO_ID"];
        if (hid_RELATORIO.Value == "fichaAcompanhamento")
        {            
            e.InputParameters["ALU_STEXCLUIDO"] = ((fac_alunosAtivos.SelectedValue == "A") ? "0" : "1");
        }
        else if (hid_RELATORIO.Value == "fichaAvaliacao")
        {
            e.InputParameters["TURMA_ID"] = ava_turma_id.SelectedValue;
            e.InputParameters["ALU_STEXCLUIDO"] = ((ava_alunosAtivos.SelectedValue == "A") ? "0" : "1");
        }
    }

    #endregion

    #region FichaPresenca

    protected void pre_anoreferencia_ItemsRequested(object o, Telerik.Web.UI.RadComboBoxItemsRequestedEventArgs e)
    {
        pre_anoreferencia.DataSourceID = ods_AnoPagamento.ID;
        pre_anoreferencia.DataBind();
    }

    protected void pre_turma_id_ItemsRequested(object o, Telerik.Web.UI.RadComboBoxItemsRequestedEventArgs e)
    {
        pre_turma_id.DataSourceID = ods_turma.ID;
        pre_turma_id.DataBind();
    }

    #endregion

    #region SituacaoMensalidades

    protected void sit_alunos_ItemsRequested(object o, Telerik.Web.UI.RadComboBoxItemsRequestedEventArgs e)
    {
        sit_aluno_id.DataSourceID = ods_Aluno.ID;
        sit_aluno_id.DataBind();
    }
    protected void sit_aluno_id_SelectedIndexChanged(object o, Telerik.Web.UI.RadComboBoxSelectedIndexChangedEventArgs e)
    {
        if (!string.IsNullOrEmpty(sit_aluno_id.SelectedValue))
        {
            sit_matricula_id_ItemsRequested(new object(), new Telerik.Web.UI.RadComboBoxItemsRequestedEventArgs());
        }
    }
    protected void sit_matricula_id_ItemsRequested(object o, Telerik.Web.UI.RadComboBoxItemsRequestedEventArgs e)
    {
        sit_matricula_id.DataSourceID = ods_Matricula.ID;
        sit_matricula_id.DataBind();
    }
    protected void sit_anoreferencia_ItemsRequested(object o, Telerik.Web.UI.RadComboBoxItemsRequestedEventArgs e)
    {
        sit_anoreferencia.DataSourceID = ods_AnoPagamento.ID;
        sit_anoreferencia.DataBind();
    }

    #endregion

    protected void retornaDadosAva(string alunoID, string matriculaID = "")
    {
        //carregar dados da Avaliação .:. dados do aluno => somente alunos do Professor
        if ((Session["USUARIO_TIPO_ID"].ToString() == "2") && (!string.IsNullOrEmpty(alunoID)))
        {
            subPnlDadosFicha.Visible = true;
            lbl_ava_descricao.Visible = pnlFichaAcompanhamento.Visible;
            ava_descricao.Visible = pnlFichaAcompanhamento.Visible;
            lbl_ava_descricaoEdit.Visible = pnlFichaAcompanhamento.Visible;
            ava_descricaoEdit.Visible = pnlFichaAcompanhamento.Visible;

            lbl_ava_avaliacaomatricula.Visible = pnlFichaAvaliacao.Visible;
            ava_avaliacaomatricula.Visible = pnlFichaAvaliacao.Visible;
            lbl_ava_avaliacaomatriculaEdit.Visible = pnlFichaAvaliacao.Visible;
            ava_avaliacaomatriculaEdit.Visible = pnlFichaAvaliacao.Visible;

            ES_Aluno aluno = new BD_Aluno()._obter_Aluno_by_id(alunoID);
            ava_dtnascimento.Text = aluno.PES_DTNASCIMENTO.Replace("00:00:00","");
            ava_matriculas.Text = aluno.MATRICULAS;
            ava_idade.Text = aluno.PES_IDADEANOCALC + " anos ";
            if (aluno.PES_IDADEMESCALC != "12") ava_idade.Text += aluno.PES_IDADEMESCALC + " meses";

            ES_Aluno_avaliacao aval = new BD_Aluno_avaliacao()._obter_Aluno_avaliacao_by_id(string.Empty, alunoID, matriculaID);
            if (!string.IsNullOrEmpty(aval.ALUNO_AVALIACAO_ID))
            {
                aluno_avaliacao_id.Text = aval.ALUNO_AVALIACAO_ID;
                ava_conceito.Text = aval.AVA_CONCEITO;
                ava_descricao.Text = aval.AVA_DESCRICAO;
                if (!string.IsNullOrEmpty(aval.AVA_DATAAVALIACAO))
                    ava_dataavaliacao.SelectedDate = Convert.ToDateTime(aval.AVA_DATAAVALIACAO);
                //carregar dados da matricula quando não preenchido
                if (string.IsNullOrEmpty(ava_matricula_id.SelectedValue) && !string.IsNullOrEmpty(aval.MATRICULA_ID))
                {
                    ava_matricula_id_ItemsRequested(new object(), new Telerik.Web.UI.RadComboBoxItemsRequestedEventArgs());
                    ava_matricula_id.SelectedValue = aval.MATRICULA_ID;
                }
                ava_avaliacaomatricula.Text = aval.AVA_AVALIACAOMATRICULA;

            }
            else
            {
                aluno_avaliacao_id.Text = "NEW";
                ava_dataavaliacao.SelectedDate = System.DateTime.Now;
                ava_conceito.Text = string.Empty;
                ava_descricao.Text = string.Empty;
                ava_avaliacaomatricula.Text = string.Empty;
            }
        }
    }

    protected void fac_aluno_id_SelectedIndexChanged(object o, Telerik.Web.UI.RadComboBoxSelectedIndexChangedEventArgs e)
    {
        retornaDadosAva(fac_aluno_id.SelectedValue);
    }

    protected void fac_alunosAtivos_SelectedIndexChanged(object sender, EventArgs e)
    {
        fac_aluno_id.ClearSelection();
        fac_aluno_id.Text = string.Empty;
    }

    protected void imgbConfirmarDadosFac_Click(object sender, ImageClickEventArgs e)
    {
        bool validarInformacao = true;

        if (ava_descricao.Visible && string.IsNullOrEmpty(ava_descricaoEdit.Text))
            validarInformacao = false;
        if (ava_avaliacaomatricula.Visible && string.IsNullOrEmpty(ava_avaliacaomatriculaEdit.Text))
            validarInformacao = false;

        if (validarInformacao)
        {
            string ava_descricaoComp = string.Empty;
            string ava_avaliacaomatriculaComp = string.Empty;

            //compor ficha de Acompanhamento
            if (!string.IsNullOrEmpty(ava_descricaoEdit.Text))
            {
                ava_descricaoComp = "Professor: " + Session["USU_LOGIN"].ToString() + "\n" +
                                    "Data da informação: " + ava_dataavaliacao.SelectedDate.ToString().Replace("00:00:00","") + "\n" +
                                    "Informação do Professor: " + ava_descricaoEdit.Text + "\n\n" +
                                    ava_descricao.Text;
            }
            else
                ava_descricaoComp = ava_descricao.Text;

            //compor ficha de Avaliação
            if (!string.IsNullOrEmpty(ava_avaliacaomatriculaEdit.Text))
            {
                ava_avaliacaomatriculaComp = "Professor: " + Session["USU_LOGIN"].ToString() + "\n" +
                                             "Data avaliação: " + ava_dataavaliacao.SelectedDate.ToString().Replace("00:00:00", "") + "\n" +
                                             "Avaliação do Professor: " + ava_avaliacaomatriculaEdit.Text + "\n\n" +
                                             ava_avaliacaomatricula.Text;
            }
            else
                ava_avaliacaomatriculaComp = ava_avaliacaomatricula.Text;

            if (aluno_avaliacao_id.Text == "NEW")
            {
                BD_Aluno_avaliacao alunoAva = new BD_Aluno_avaliacao();
                alunoAva._inserir_Aluno_avaliacao(string.Empty,
                                                    (!string.IsNullOrEmpty(fac_aluno_id.SelectedValue) ? fac_aluno_id.SelectedValue : ava_aluno_id.SelectedValue),
                                                    string.Empty,
                                                    ava_descricaoComp,
                                                    ava_dataavaliacao.SelectedDate.ToString(),
                                                    ava_conceito.Text,
                                                    ava_matricula_id.SelectedValue,
                                                    ava_avaliacaomatriculaComp);

                //obter o código da avaliação recém inserida
                aluno_avaliacao_id.Text = alunoAva._obter_Aluno_avaliacao_by_id(string.Empty, ava_aluno_id.SelectedValue).ALUNO_AVALIACAO_ID;


            }
            else
            {
                new BD_Aluno_avaliacao()._atualizar_Aluno_avaliacao(aluno_avaliacao_id.Text,
                                                                          (!string.IsNullOrEmpty(fac_aluno_id.SelectedValue) ? fac_aluno_id.SelectedValue : ava_aluno_id.SelectedValue),
                                                                          string.Empty,
                                                                          ava_descricaoComp,
                                                                          ava_dataavaliacao.SelectedDate.ToString(),
                                                                          ava_conceito.Text,
                                                                          ava_matricula_id.SelectedValue,
                                                                          ava_avaliacaomatriculaComp);
            }

            //limpar campos
            if (!string.IsNullOrEmpty(ava_descricaoEdit.Text))
            {
                ava_descricao.Text = ava_descricaoComp;
                ava_descricaoEdit.Text = string.Empty;
            }
            if (!string.IsNullOrEmpty(ava_avaliacaomatriculaEdit.Text))
            {
                ava_avaliacaomatricula.Text = ava_avaliacaomatriculaComp;
                ava_avaliacaomatriculaEdit.Text = string.Empty;
            }

            ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "scriptAjax", "alert('Dados gravados com sucesso.');", true);
        }
        else
            ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "scriptAjax", "alert('Preencha os dados da avaliação antes de confirmar.');", true);
    }
    protected void ava_aluno_id_ItemsRequested(object o, Telerik.Web.UI.RadComboBoxItemsRequestedEventArgs e)
    {
        //carregar somente os alunos do Professor
        if (Session["USUARIO_TIPO_ID"].ToString() == "2")
        {
            ava_aluno_id.DataSourceID = ods_AlunoTurma.ID;
            ava_aluno_id.DataBind();
        }
        else
        {
            ava_aluno_id.DataSourceID = ods_Aluno.ID;
            ava_aluno_id.DataBind();
        }
    }
    protected void ava_aluno_id_SelectedIndexChanged(object o, Telerik.Web.UI.RadComboBoxSelectedIndexChangedEventArgs e)
    {
        //limpar matriculas do Aluno
        ava_matricula_id.ClearSelection();
        ava_matricula_id.Text = string.Empty;
    }
    protected void ava_matricula_id_ItemsRequested(object o, Telerik.Web.UI.RadComboBoxItemsRequestedEventArgs e)
    {
        ava_matricula_id.DataSourceID = ods_Matricula.ID;
        ava_matricula_id.DataBind();
    }
    protected void ava_matricula_id_SelectedIndexChanged(object o, Telerik.Web.UI.RadComboBoxSelectedIndexChangedEventArgs e)
    {
        if (!string.IsNullOrEmpty(ava_matricula_id.SelectedValue))
            retornaDadosAva(ava_aluno_id.SelectedValue, ava_matricula_id.SelectedValue);
    }
    protected void ava_turma_id_ItemsRequested(object o, Telerik.Web.UI.RadComboBoxItemsRequestedEventArgs e)
    {
        ava_turma_id.DataSourceID = ods_turma.ID;
        ava_turma_id.DataBind();
    }
    protected void ods_turma_Selecting(object sender, ObjectDataSourceSelectingEventArgs e)
    {
        //carregar somente os alunos do Professor
        if (Session["USUARIO_TIPO_ID"].ToString() == "2")
        {
            e.InputParameters["USUARIO_ID"] = Session["USUARIO_ID"].ToString();
        }

    }

    protected void ava_turma_id_SelectedIndexChanged(object o, Telerik.Web.UI.RadComboBoxSelectedIndexChangedEventArgs e)
    {
        ava_aluno_id.ClearSelection();
        ava_aluno_id.Text = string.Empty;

        ava_matricula_id.ClearSelection();
        ava_matricula_id.Text = string.Empty;
    }

    protected void ava_alunosAtivos_SelectedIndexChanged(object sender, EventArgs e)
    {
        ava_turma_id.ClearSelection();
        ava_turma_id.Text = string.Empty;

        ava_aluno_id.ClearSelection();
        ava_aluno_id.Text = string.Empty;

        ava_matricula_id.ClearSelection();
        ava_matricula_id.Text = string.Empty;
    }

    protected void fam_aluno_id_SelectedIndexChanged(object o, Telerik.Web.UI.RadComboBoxSelectedIndexChangedEventArgs e)
    {

    }

    protected void fam_aluno_id_ItemsRequested(object o, Telerik.Web.UI.RadComboBoxItemsRequestedEventArgs e)
    {
        fam_aluno_id.DataSourceID = ods_Aluno.ID;
        fam_aluno_id.DataBind();
    }

    protected void fsc_turma_id_ItemsRequested(object o, Telerik.Web.UI.RadComboBoxItemsRequestedEventArgs e)
    {
        fsc_turma_id.DataSourceID = ods_turma.ID;
        fsc_turma_id.DataBind();
    }

    

    

    

    
}